package com.ygqh.baby.po;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

public class WdtQybStockOutDetailExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public WdtQybStockOutDetailExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andStockoutIdIsNull() {
            addCriterion("stockout_id is null");
            return (Criteria) this;
        }

        public Criteria andStockoutIdIsNotNull() {
            addCriterion("stockout_id is not null");
            return (Criteria) this;
        }

        public Criteria andStockoutIdEqualTo(Integer value) {
            addCriterion("stockout_id =", value, "stockoutId");
            return (Criteria) this;
        }

        public Criteria andStockoutIdNotEqualTo(Integer value) {
            addCriterion("stockout_id <>", value, "stockoutId");
            return (Criteria) this;
        }

        public Criteria andStockoutIdGreaterThan(Integer value) {
            addCriterion("stockout_id >", value, "stockoutId");
            return (Criteria) this;
        }

        public Criteria andStockoutIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("stockout_id >=", value, "stockoutId");
            return (Criteria) this;
        }

        public Criteria andStockoutIdLessThan(Integer value) {
            addCriterion("stockout_id <", value, "stockoutId");
            return (Criteria) this;
        }

        public Criteria andStockoutIdLessThanOrEqualTo(Integer value) {
            addCriterion("stockout_id <=", value, "stockoutId");
            return (Criteria) this;
        }

        public Criteria andStockoutIdIn(List<Integer> values) {
            addCriterion("stockout_id in", values, "stockoutId");
            return (Criteria) this;
        }

        public Criteria andStockoutIdNotIn(List<Integer> values) {
            addCriterion("stockout_id not in", values, "stockoutId");
            return (Criteria) this;
        }

        public Criteria andStockoutIdBetween(Integer value1, Integer value2) {
            addCriterion("stockout_id between", value1, value2, "stockoutId");
            return (Criteria) this;
        }

        public Criteria andStockoutIdNotBetween(Integer value1, Integer value2) {
            addCriterion("stockout_id not between", value1, value2, "stockoutId");
            return (Criteria) this;
        }

        public Criteria andSpecNoIsNull() {
            addCriterion("spec_no is null");
            return (Criteria) this;
        }

        public Criteria andSpecNoIsNotNull() {
            addCriterion("spec_no is not null");
            return (Criteria) this;
        }

        public Criteria andSpecNoEqualTo(String value) {
            addCriterion("spec_no =", value, "specNo");
            return (Criteria) this;
        }

        public Criteria andSpecNoNotEqualTo(String value) {
            addCriterion("spec_no <>", value, "specNo");
            return (Criteria) this;
        }

        public Criteria andSpecNoGreaterThan(String value) {
            addCriterion("spec_no >", value, "specNo");
            return (Criteria) this;
        }

        public Criteria andSpecNoGreaterThanOrEqualTo(String value) {
            addCriterion("spec_no >=", value, "specNo");
            return (Criteria) this;
        }

        public Criteria andSpecNoLessThan(String value) {
            addCriterion("spec_no <", value, "specNo");
            return (Criteria) this;
        }

        public Criteria andSpecNoLessThanOrEqualTo(String value) {
            addCriterion("spec_no <=", value, "specNo");
            return (Criteria) this;
        }

        public Criteria andSpecNoLike(String value) {
            addCriterion("spec_no like", value, "specNo");
            return (Criteria) this;
        }

        public Criteria andSpecNoNotLike(String value) {
            addCriterion("spec_no not like", value, "specNo");
            return (Criteria) this;
        }

        public Criteria andSpecNoIn(List<String> values) {
            addCriterion("spec_no in", values, "specNo");
            return (Criteria) this;
        }

        public Criteria andSpecNoNotIn(List<String> values) {
            addCriterion("spec_no not in", values, "specNo");
            return (Criteria) this;
        }

        public Criteria andSpecNoBetween(String value1, String value2) {
            addCriterion("spec_no between", value1, value2, "specNo");
            return (Criteria) this;
        }

        public Criteria andSpecNoNotBetween(String value1, String value2) {
            addCriterion("spec_no not between", value1, value2, "specNo");
            return (Criteria) this;
        }

        public Criteria andGoodsCountIsNull() {
            addCriterion("goods_count is null");
            return (Criteria) this;
        }

        public Criteria andGoodsCountIsNotNull() {
            addCriterion("goods_count is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsCountEqualTo(BigDecimal value) {
            addCriterion("goods_count =", value, "goodsCount");
            return (Criteria) this;
        }

        public Criteria andGoodsCountNotEqualTo(BigDecimal value) {
            addCriterion("goods_count <>", value, "goodsCount");
            return (Criteria) this;
        }

        public Criteria andGoodsCountGreaterThan(BigDecimal value) {
            addCriterion("goods_count >", value, "goodsCount");
            return (Criteria) this;
        }

        public Criteria andGoodsCountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("goods_count >=", value, "goodsCount");
            return (Criteria) this;
        }

        public Criteria andGoodsCountLessThan(BigDecimal value) {
            addCriterion("goods_count <", value, "goodsCount");
            return (Criteria) this;
        }

        public Criteria andGoodsCountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("goods_count <=", value, "goodsCount");
            return (Criteria) this;
        }

        public Criteria andGoodsCountIn(List<BigDecimal> values) {
            addCriterion("goods_count in", values, "goodsCount");
            return (Criteria) this;
        }

        public Criteria andGoodsCountNotIn(List<BigDecimal> values) {
            addCriterion("goods_count not in", values, "goodsCount");
            return (Criteria) this;
        }

        public Criteria andGoodsCountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("goods_count between", value1, value2, "goodsCount");
            return (Criteria) this;
        }

        public Criteria andGoodsCountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("goods_count not between", value1, value2, "goodsCount");
            return (Criteria) this;
        }

        public Criteria andSellPriceIsNull() {
            addCriterion("sell_price is null");
            return (Criteria) this;
        }

        public Criteria andSellPriceIsNotNull() {
            addCriterion("sell_price is not null");
            return (Criteria) this;
        }

        public Criteria andSellPriceEqualTo(BigDecimal value) {
            addCriterion("sell_price =", value, "sellPrice");
            return (Criteria) this;
        }

        public Criteria andSellPriceNotEqualTo(BigDecimal value) {
            addCriterion("sell_price <>", value, "sellPrice");
            return (Criteria) this;
        }

        public Criteria andSellPriceGreaterThan(BigDecimal value) {
            addCriterion("sell_price >", value, "sellPrice");
            return (Criteria) this;
        }

        public Criteria andSellPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("sell_price >=", value, "sellPrice");
            return (Criteria) this;
        }

        public Criteria andSellPriceLessThan(BigDecimal value) {
            addCriterion("sell_price <", value, "sellPrice");
            return (Criteria) this;
        }

        public Criteria andSellPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("sell_price <=", value, "sellPrice");
            return (Criteria) this;
        }

        public Criteria andSellPriceIn(List<BigDecimal> values) {
            addCriterion("sell_price in", values, "sellPrice");
            return (Criteria) this;
        }

        public Criteria andSellPriceNotIn(List<BigDecimal> values) {
            addCriterion("sell_price not in", values, "sellPrice");
            return (Criteria) this;
        }

        public Criteria andSellPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("sell_price between", value1, value2, "sellPrice");
            return (Criteria) this;
        }

        public Criteria andSellPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("sell_price not between", value1, value2, "sellPrice");
            return (Criteria) this;
        }

        public Criteria andBrandNoIsNull() {
            addCriterion("brand_no is null");
            return (Criteria) this;
        }

        public Criteria andBrandNoIsNotNull() {
            addCriterion("brand_no is not null");
            return (Criteria) this;
        }

        public Criteria andBrandNoEqualTo(String value) {
            addCriterion("brand_no =", value, "brandNo");
            return (Criteria) this;
        }

        public Criteria andBrandNoNotEqualTo(String value) {
            addCriterion("brand_no <>", value, "brandNo");
            return (Criteria) this;
        }

        public Criteria andBrandNoGreaterThan(String value) {
            addCriterion("brand_no >", value, "brandNo");
            return (Criteria) this;
        }

        public Criteria andBrandNoGreaterThanOrEqualTo(String value) {
            addCriterion("brand_no >=", value, "brandNo");
            return (Criteria) this;
        }

        public Criteria andBrandNoLessThan(String value) {
            addCriterion("brand_no <", value, "brandNo");
            return (Criteria) this;
        }

        public Criteria andBrandNoLessThanOrEqualTo(String value) {
            addCriterion("brand_no <=", value, "brandNo");
            return (Criteria) this;
        }

        public Criteria andBrandNoLike(String value) {
            addCriterion("brand_no like", value, "brandNo");
            return (Criteria) this;
        }

        public Criteria andBrandNoNotLike(String value) {
            addCriterion("brand_no not like", value, "brandNo");
            return (Criteria) this;
        }

        public Criteria andBrandNoIn(List<String> values) {
            addCriterion("brand_no in", values, "brandNo");
            return (Criteria) this;
        }

        public Criteria andBrandNoNotIn(List<String> values) {
            addCriterion("brand_no not in", values, "brandNo");
            return (Criteria) this;
        }

        public Criteria andBrandNoBetween(String value1, String value2) {
            addCriterion("brand_no between", value1, value2, "brandNo");
            return (Criteria) this;
        }

        public Criteria andBrandNoNotBetween(String value1, String value2) {
            addCriterion("brand_no not between", value1, value2, "brandNo");
            return (Criteria) this;
        }

        public Criteria andBrandNameIsNull() {
            addCriterion("brand_name is null");
            return (Criteria) this;
        }

        public Criteria andBrandNameIsNotNull() {
            addCriterion("brand_name is not null");
            return (Criteria) this;
        }

        public Criteria andBrandNameEqualTo(String value) {
            addCriterion("brand_name =", value, "brandName");
            return (Criteria) this;
        }

        public Criteria andBrandNameNotEqualTo(String value) {
            addCriterion("brand_name <>", value, "brandName");
            return (Criteria) this;
        }

        public Criteria andBrandNameGreaterThan(String value) {
            addCriterion("brand_name >", value, "brandName");
            return (Criteria) this;
        }

        public Criteria andBrandNameGreaterThanOrEqualTo(String value) {
            addCriterion("brand_name >=", value, "brandName");
            return (Criteria) this;
        }

        public Criteria andBrandNameLessThan(String value) {
            addCriterion("brand_name <", value, "brandName");
            return (Criteria) this;
        }

        public Criteria andBrandNameLessThanOrEqualTo(String value) {
            addCriterion("brand_name <=", value, "brandName");
            return (Criteria) this;
        }

        public Criteria andBrandNameLike(String value) {
            addCriterion("brand_name like", value, "brandName");
            return (Criteria) this;
        }

        public Criteria andBrandNameNotLike(String value) {
            addCriterion("brand_name not like", value, "brandName");
            return (Criteria) this;
        }

        public Criteria andBrandNameIn(List<String> values) {
            addCriterion("brand_name in", values, "brandName");
            return (Criteria) this;
        }

        public Criteria andBrandNameNotIn(List<String> values) {
            addCriterion("brand_name not in", values, "brandName");
            return (Criteria) this;
        }

        public Criteria andBrandNameBetween(String value1, String value2) {
            addCriterion("brand_name between", value1, value2, "brandName");
            return (Criteria) this;
        }

        public Criteria andBrandNameNotBetween(String value1, String value2) {
            addCriterion("brand_name not between", value1, value2, "brandName");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeIsNull() {
            addCriterion("goods_type is null");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeIsNotNull() {
            addCriterion("goods_type is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeEqualTo(Integer value) {
            addCriterion("goods_type =", value, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeNotEqualTo(Integer value) {
            addCriterion("goods_type <>", value, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeGreaterThan(Integer value) {
            addCriterion("goods_type >", value, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("goods_type >=", value, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeLessThan(Integer value) {
            addCriterion("goods_type <", value, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeLessThanOrEqualTo(Integer value) {
            addCriterion("goods_type <=", value, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeIn(List<Integer> values) {
            addCriterion("goods_type in", values, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeNotIn(List<Integer> values) {
            addCriterion("goods_type not in", values, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeBetween(Integer value1, Integer value2) {
            addCriterion("goods_type between", value1, value2, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("goods_type not between", value1, value2, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGiftTypeIsNull() {
            addCriterion("gift_type is null");
            return (Criteria) this;
        }

        public Criteria andGiftTypeIsNotNull() {
            addCriterion("gift_type is not null");
            return (Criteria) this;
        }

        public Criteria andGiftTypeEqualTo(Integer value) {
            addCriterion("gift_type =", value, "giftType");
            return (Criteria) this;
        }

        public Criteria andGiftTypeNotEqualTo(Integer value) {
            addCriterion("gift_type <>", value, "giftType");
            return (Criteria) this;
        }

        public Criteria andGiftTypeGreaterThan(Integer value) {
            addCriterion("gift_type >", value, "giftType");
            return (Criteria) this;
        }

        public Criteria andGiftTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("gift_type >=", value, "giftType");
            return (Criteria) this;
        }

        public Criteria andGiftTypeLessThan(Integer value) {
            addCriterion("gift_type <", value, "giftType");
            return (Criteria) this;
        }

        public Criteria andGiftTypeLessThanOrEqualTo(Integer value) {
            addCriterion("gift_type <=", value, "giftType");
            return (Criteria) this;
        }

        public Criteria andGiftTypeIn(List<Integer> values) {
            addCriterion("gift_type in", values, "giftType");
            return (Criteria) this;
        }

        public Criteria andGiftTypeNotIn(List<Integer> values) {
            addCriterion("gift_type not in", values, "giftType");
            return (Criteria) this;
        }

        public Criteria andGiftTypeBetween(Integer value1, Integer value2) {
            addCriterion("gift_type between", value1, value2, "giftType");
            return (Criteria) this;
        }

        public Criteria andGiftTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("gift_type not between", value1, value2, "giftType");
            return (Criteria) this;
        }

        public Criteria andGoodsNameIsNull() {
            addCriterion("goods_name is null");
            return (Criteria) this;
        }

        public Criteria andGoodsNameIsNotNull() {
            addCriterion("goods_name is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsNameEqualTo(String value) {
            addCriterion("goods_name =", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameNotEqualTo(String value) {
            addCriterion("goods_name <>", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameGreaterThan(String value) {
            addCriterion("goods_name >", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameGreaterThanOrEqualTo(String value) {
            addCriterion("goods_name >=", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameLessThan(String value) {
            addCriterion("goods_name <", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameLessThanOrEqualTo(String value) {
            addCriterion("goods_name <=", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameLike(String value) {
            addCriterion("goods_name like", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameNotLike(String value) {
            addCriterion("goods_name not like", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameIn(List<String> values) {
            addCriterion("goods_name in", values, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameNotIn(List<String> values) {
            addCriterion("goods_name not in", values, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameBetween(String value1, String value2) {
            addCriterion("goods_name between", value1, value2, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameNotBetween(String value1, String value2) {
            addCriterion("goods_name not between", value1, value2, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNoIsNull() {
            addCriterion("goods_no is null");
            return (Criteria) this;
        }

        public Criteria andGoodsNoIsNotNull() {
            addCriterion("goods_no is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsNoEqualTo(String value) {
            addCriterion("goods_no =", value, "goodsNo");
            return (Criteria) this;
        }

        public Criteria andGoodsNoNotEqualTo(String value) {
            addCriterion("goods_no <>", value, "goodsNo");
            return (Criteria) this;
        }

        public Criteria andGoodsNoGreaterThan(String value) {
            addCriterion("goods_no >", value, "goodsNo");
            return (Criteria) this;
        }

        public Criteria andGoodsNoGreaterThanOrEqualTo(String value) {
            addCriterion("goods_no >=", value, "goodsNo");
            return (Criteria) this;
        }

        public Criteria andGoodsNoLessThan(String value) {
            addCriterion("goods_no <", value, "goodsNo");
            return (Criteria) this;
        }

        public Criteria andGoodsNoLessThanOrEqualTo(String value) {
            addCriterion("goods_no <=", value, "goodsNo");
            return (Criteria) this;
        }

        public Criteria andGoodsNoLike(String value) {
            addCriterion("goods_no like", value, "goodsNo");
            return (Criteria) this;
        }

        public Criteria andGoodsNoNotLike(String value) {
            addCriterion("goods_no not like", value, "goodsNo");
            return (Criteria) this;
        }

        public Criteria andGoodsNoIn(List<String> values) {
            addCriterion("goods_no in", values, "goodsNo");
            return (Criteria) this;
        }

        public Criteria andGoodsNoNotIn(List<String> values) {
            addCriterion("goods_no not in", values, "goodsNo");
            return (Criteria) this;
        }

        public Criteria andGoodsNoBetween(String value1, String value2) {
            addCriterion("goods_no between", value1, value2, "goodsNo");
            return (Criteria) this;
        }

        public Criteria andGoodsNoNotBetween(String value1, String value2) {
            addCriterion("goods_no not between", value1, value2, "goodsNo");
            return (Criteria) this;
        }

        public Criteria andSpecNameIsNull() {
            addCriterion("spec_name is null");
            return (Criteria) this;
        }

        public Criteria andSpecNameIsNotNull() {
            addCriterion("spec_name is not null");
            return (Criteria) this;
        }

        public Criteria andSpecNameEqualTo(String value) {
            addCriterion("spec_name =", value, "specName");
            return (Criteria) this;
        }

        public Criteria andSpecNameNotEqualTo(String value) {
            addCriterion("spec_name <>", value, "specName");
            return (Criteria) this;
        }

        public Criteria andSpecNameGreaterThan(String value) {
            addCriterion("spec_name >", value, "specName");
            return (Criteria) this;
        }

        public Criteria andSpecNameGreaterThanOrEqualTo(String value) {
            addCriterion("spec_name >=", value, "specName");
            return (Criteria) this;
        }

        public Criteria andSpecNameLessThan(String value) {
            addCriterion("spec_name <", value, "specName");
            return (Criteria) this;
        }

        public Criteria andSpecNameLessThanOrEqualTo(String value) {
            addCriterion("spec_name <=", value, "specName");
            return (Criteria) this;
        }

        public Criteria andSpecNameLike(String value) {
            addCriterion("spec_name like", value, "specName");
            return (Criteria) this;
        }

        public Criteria andSpecNameNotLike(String value) {
            addCriterion("spec_name not like", value, "specName");
            return (Criteria) this;
        }

        public Criteria andSpecNameIn(List<String> values) {
            addCriterion("spec_name in", values, "specName");
            return (Criteria) this;
        }

        public Criteria andSpecNameNotIn(List<String> values) {
            addCriterion("spec_name not in", values, "specName");
            return (Criteria) this;
        }

        public Criteria andSpecNameBetween(String value1, String value2) {
            addCriterion("spec_name between", value1, value2, "specName");
            return (Criteria) this;
        }

        public Criteria andSpecNameNotBetween(String value1, String value2) {
            addCriterion("spec_name not between", value1, value2, "specName");
            return (Criteria) this;
        }

        public Criteria andSpecCodeIsNull() {
            addCriterion("spec_code is null");
            return (Criteria) this;
        }

        public Criteria andSpecCodeIsNotNull() {
            addCriterion("spec_code is not null");
            return (Criteria) this;
        }

        public Criteria andSpecCodeEqualTo(String value) {
            addCriterion("spec_code =", value, "specCode");
            return (Criteria) this;
        }

        public Criteria andSpecCodeNotEqualTo(String value) {
            addCriterion("spec_code <>", value, "specCode");
            return (Criteria) this;
        }

        public Criteria andSpecCodeGreaterThan(String value) {
            addCriterion("spec_code >", value, "specCode");
            return (Criteria) this;
        }

        public Criteria andSpecCodeGreaterThanOrEqualTo(String value) {
            addCriterion("spec_code >=", value, "specCode");
            return (Criteria) this;
        }

        public Criteria andSpecCodeLessThan(String value) {
            addCriterion("spec_code <", value, "specCode");
            return (Criteria) this;
        }

        public Criteria andSpecCodeLessThanOrEqualTo(String value) {
            addCriterion("spec_code <=", value, "specCode");
            return (Criteria) this;
        }

        public Criteria andSpecCodeLike(String value) {
            addCriterion("spec_code like", value, "specCode");
            return (Criteria) this;
        }

        public Criteria andSpecCodeNotLike(String value) {
            addCriterion("spec_code not like", value, "specCode");
            return (Criteria) this;
        }

        public Criteria andSpecCodeIn(List<String> values) {
            addCriterion("spec_code in", values, "specCode");
            return (Criteria) this;
        }

        public Criteria andSpecCodeNotIn(List<String> values) {
            addCriterion("spec_code not in", values, "specCode");
            return (Criteria) this;
        }

        public Criteria andSpecCodeBetween(String value1, String value2) {
            addCriterion("spec_code between", value1, value2, "specCode");
            return (Criteria) this;
        }

        public Criteria andSpecCodeNotBetween(String value1, String value2) {
            addCriterion("spec_code not between", value1, value2, "specCode");
            return (Criteria) this;
        }

        public Criteria andCostPriceIsNull() {
            addCriterion("cost_price is null");
            return (Criteria) this;
        }

        public Criteria andCostPriceIsNotNull() {
            addCriterion("cost_price is not null");
            return (Criteria) this;
        }

        public Criteria andCostPriceEqualTo(BigDecimal value) {
            addCriterion("cost_price =", value, "costPrice");
            return (Criteria) this;
        }

        public Criteria andCostPriceNotEqualTo(BigDecimal value) {
            addCriterion("cost_price <>", value, "costPrice");
            return (Criteria) this;
        }

        public Criteria andCostPriceGreaterThan(BigDecimal value) {
            addCriterion("cost_price >", value, "costPrice");
            return (Criteria) this;
        }

        public Criteria andCostPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("cost_price >=", value, "costPrice");
            return (Criteria) this;
        }

        public Criteria andCostPriceLessThan(BigDecimal value) {
            addCriterion("cost_price <", value, "costPrice");
            return (Criteria) this;
        }

        public Criteria andCostPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("cost_price <=", value, "costPrice");
            return (Criteria) this;
        }

        public Criteria andCostPriceIn(List<BigDecimal> values) {
            addCriterion("cost_price in", values, "costPrice");
            return (Criteria) this;
        }

        public Criteria andCostPriceNotIn(List<BigDecimal> values) {
            addCriterion("cost_price not in", values, "costPrice");
            return (Criteria) this;
        }

        public Criteria andCostPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("cost_price between", value1, value2, "costPrice");
            return (Criteria) this;
        }

        public Criteria andCostPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("cost_price not between", value1, value2, "costPrice");
            return (Criteria) this;
        }

        public Criteria andTotalAmountIsNull() {
            addCriterion("total_amount is null");
            return (Criteria) this;
        }

        public Criteria andTotalAmountIsNotNull() {
            addCriterion("total_amount is not null");
            return (Criteria) this;
        }

        public Criteria andTotalAmountEqualTo(BigDecimal value) {
            addCriterion("total_amount =", value, "totalAmount");
            return (Criteria) this;
        }

        public Criteria andTotalAmountNotEqualTo(BigDecimal value) {
            addCriterion("total_amount <>", value, "totalAmount");
            return (Criteria) this;
        }

        public Criteria andTotalAmountGreaterThan(BigDecimal value) {
            addCriterion("total_amount >", value, "totalAmount");
            return (Criteria) this;
        }

        public Criteria andTotalAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("total_amount >=", value, "totalAmount");
            return (Criteria) this;
        }

        public Criteria andTotalAmountLessThan(BigDecimal value) {
            addCriterion("total_amount <", value, "totalAmount");
            return (Criteria) this;
        }

        public Criteria andTotalAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("total_amount <=", value, "totalAmount");
            return (Criteria) this;
        }

        public Criteria andTotalAmountIn(List<BigDecimal> values) {
            addCriterion("total_amount in", values, "totalAmount");
            return (Criteria) this;
        }

        public Criteria andTotalAmountNotIn(List<BigDecimal> values) {
            addCriterion("total_amount not in", values, "totalAmount");
            return (Criteria) this;
        }

        public Criteria andTotalAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("total_amount between", value1, value2, "totalAmount");
            return (Criteria) this;
        }

        public Criteria andTotalAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("total_amount not between", value1, value2, "totalAmount");
            return (Criteria) this;
        }

        public Criteria andGoodsIdIsNull() {
            addCriterion("goods_id is null");
            return (Criteria) this;
        }

        public Criteria andGoodsIdIsNotNull() {
            addCriterion("goods_id is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsIdEqualTo(Integer value) {
            addCriterion("goods_id =", value, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdNotEqualTo(Integer value) {
            addCriterion("goods_id <>", value, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdGreaterThan(Integer value) {
            addCriterion("goods_id >", value, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("goods_id >=", value, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdLessThan(Integer value) {
            addCriterion("goods_id <", value, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdLessThanOrEqualTo(Integer value) {
            addCriterion("goods_id <=", value, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdIn(List<Integer> values) {
            addCriterion("goods_id in", values, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdNotIn(List<Integer> values) {
            addCriterion("goods_id not in", values, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdBetween(Integer value1, Integer value2) {
            addCriterion("goods_id between", value1, value2, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdNotBetween(Integer value1, Integer value2) {
            addCriterion("goods_id not between", value1, value2, "goodsId");
            return (Criteria) this;
        }

        public Criteria andSpecIdIsNull() {
            addCriterion("spec_id is null");
            return (Criteria) this;
        }

        public Criteria andSpecIdIsNotNull() {
            addCriterion("spec_id is not null");
            return (Criteria) this;
        }

        public Criteria andSpecIdEqualTo(Integer value) {
            addCriterion("spec_id =", value, "specId");
            return (Criteria) this;
        }

        public Criteria andSpecIdNotEqualTo(Integer value) {
            addCriterion("spec_id <>", value, "specId");
            return (Criteria) this;
        }

        public Criteria andSpecIdGreaterThan(Integer value) {
            addCriterion("spec_id >", value, "specId");
            return (Criteria) this;
        }

        public Criteria andSpecIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("spec_id >=", value, "specId");
            return (Criteria) this;
        }

        public Criteria andSpecIdLessThan(Integer value) {
            addCriterion("spec_id <", value, "specId");
            return (Criteria) this;
        }

        public Criteria andSpecIdLessThanOrEqualTo(Integer value) {
            addCriterion("spec_id <=", value, "specId");
            return (Criteria) this;
        }

        public Criteria andSpecIdIn(List<Integer> values) {
            addCriterion("spec_id in", values, "specId");
            return (Criteria) this;
        }

        public Criteria andSpecIdNotIn(List<Integer> values) {
            addCriterion("spec_id not in", values, "specId");
            return (Criteria) this;
        }

        public Criteria andSpecIdBetween(Integer value1, Integer value2) {
            addCriterion("spec_id between", value1, value2, "specId");
            return (Criteria) this;
        }

        public Criteria andSpecIdNotBetween(Integer value1, Integer value2) {
            addCriterion("spec_id not between", value1, value2, "specId");
            return (Criteria) this;
        }

        public Criteria andWeightIsNull() {
            addCriterion("weight is null");
            return (Criteria) this;
        }

        public Criteria andWeightIsNotNull() {
            addCriterion("weight is not null");
            return (Criteria) this;
        }

        public Criteria andWeightEqualTo(BigDecimal value) {
            addCriterion("weight =", value, "weight");
            return (Criteria) this;
        }

        public Criteria andWeightNotEqualTo(BigDecimal value) {
            addCriterion("weight <>", value, "weight");
            return (Criteria) this;
        }

        public Criteria andWeightGreaterThan(BigDecimal value) {
            addCriterion("weight >", value, "weight");
            return (Criteria) this;
        }

        public Criteria andWeightGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("weight >=", value, "weight");
            return (Criteria) this;
        }

        public Criteria andWeightLessThan(BigDecimal value) {
            addCriterion("weight <", value, "weight");
            return (Criteria) this;
        }

        public Criteria andWeightLessThanOrEqualTo(BigDecimal value) {
            addCriterion("weight <=", value, "weight");
            return (Criteria) this;
        }

        public Criteria andWeightIn(List<BigDecimal> values) {
            addCriterion("weight in", values, "weight");
            return (Criteria) this;
        }

        public Criteria andWeightNotIn(List<BigDecimal> values) {
            addCriterion("weight not in", values, "weight");
            return (Criteria) this;
        }

        public Criteria andWeightBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("weight between", value1, value2, "weight");
            return (Criteria) this;
        }

        public Criteria andWeightNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("weight not between", value1, value2, "weight");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("remark not between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andPaidIsNull() {
            addCriterion("paid is null");
            return (Criteria) this;
        }

        public Criteria andPaidIsNotNull() {
            addCriterion("paid is not null");
            return (Criteria) this;
        }

        public Criteria andPaidEqualTo(BigDecimal value) {
            addCriterion("paid =", value, "paid");
            return (Criteria) this;
        }

        public Criteria andPaidNotEqualTo(BigDecimal value) {
            addCriterion("paid <>", value, "paid");
            return (Criteria) this;
        }

        public Criteria andPaidGreaterThan(BigDecimal value) {
            addCriterion("paid >", value, "paid");
            return (Criteria) this;
        }

        public Criteria andPaidGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("paid >=", value, "paid");
            return (Criteria) this;
        }

        public Criteria andPaidLessThan(BigDecimal value) {
            addCriterion("paid <", value, "paid");
            return (Criteria) this;
        }

        public Criteria andPaidLessThanOrEqualTo(BigDecimal value) {
            addCriterion("paid <=", value, "paid");
            return (Criteria) this;
        }

        public Criteria andPaidIn(List<BigDecimal> values) {
            addCriterion("paid in", values, "paid");
            return (Criteria) this;
        }

        public Criteria andPaidNotIn(List<BigDecimal> values) {
            addCriterion("paid not in", values, "paid");
            return (Criteria) this;
        }

        public Criteria andPaidBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("paid between", value1, value2, "paid");
            return (Criteria) this;
        }

        public Criteria andPaidNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("paid not between", value1, value2, "paid");
            return (Criteria) this;
        }

        public Criteria andSrcTidIsNull() {
            addCriterion("src_tid is null");
            return (Criteria) this;
        }

        public Criteria andSrcTidIsNotNull() {
            addCriterion("src_tid is not null");
            return (Criteria) this;
        }

        public Criteria andSrcTidEqualTo(String value) {
            addCriterion("src_tid =", value, "srcTid");
            return (Criteria) this;
        }

        public Criteria andSrcTidNotEqualTo(String value) {
            addCriterion("src_tid <>", value, "srcTid");
            return (Criteria) this;
        }

        public Criteria andSrcTidGreaterThan(String value) {
            addCriterion("src_tid >", value, "srcTid");
            return (Criteria) this;
        }

        public Criteria andSrcTidGreaterThanOrEqualTo(String value) {
            addCriterion("src_tid >=", value, "srcTid");
            return (Criteria) this;
        }

        public Criteria andSrcTidLessThan(String value) {
            addCriterion("src_tid <", value, "srcTid");
            return (Criteria) this;
        }

        public Criteria andSrcTidLessThanOrEqualTo(String value) {
            addCriterion("src_tid <=", value, "srcTid");
            return (Criteria) this;
        }

        public Criteria andSrcTidLike(String value) {
            addCriterion("src_tid like", value, "srcTid");
            return (Criteria) this;
        }

        public Criteria andSrcTidNotLike(String value) {
            addCriterion("src_tid not like", value, "srcTid");
            return (Criteria) this;
        }

        public Criteria andSrcTidIn(List<String> values) {
            addCriterion("src_tid in", values, "srcTid");
            return (Criteria) this;
        }

        public Criteria andSrcTidNotIn(List<String> values) {
            addCriterion("src_tid not in", values, "srcTid");
            return (Criteria) this;
        }

        public Criteria andSrcTidBetween(String value1, String value2) {
            addCriterion("src_tid between", value1, value2, "srcTid");
            return (Criteria) this;
        }

        public Criteria andSrcTidNotBetween(String value1, String value2) {
            addCriterion("src_tid not between", value1, value2, "srcTid");
            return (Criteria) this;
        }

        public Criteria andFromMaskIsNull() {
            addCriterion("from_mask is null");
            return (Criteria) this;
        }

        public Criteria andFromMaskIsNotNull() {
            addCriterion("from_mask is not null");
            return (Criteria) this;
        }

        public Criteria andFromMaskEqualTo(Integer value) {
            addCriterion("from_mask =", value, "fromMask");
            return (Criteria) this;
        }

        public Criteria andFromMaskNotEqualTo(Integer value) {
            addCriterion("from_mask <>", value, "fromMask");
            return (Criteria) this;
        }

        public Criteria andFromMaskGreaterThan(Integer value) {
            addCriterion("from_mask >", value, "fromMask");
            return (Criteria) this;
        }

        public Criteria andFromMaskGreaterThanOrEqualTo(Integer value) {
            addCriterion("from_mask >=", value, "fromMask");
            return (Criteria) this;
        }

        public Criteria andFromMaskLessThan(Integer value) {
            addCriterion("from_mask <", value, "fromMask");
            return (Criteria) this;
        }

        public Criteria andFromMaskLessThanOrEqualTo(Integer value) {
            addCriterion("from_mask <=", value, "fromMask");
            return (Criteria) this;
        }

        public Criteria andFromMaskIn(List<Integer> values) {
            addCriterion("from_mask in", values, "fromMask");
            return (Criteria) this;
        }

        public Criteria andFromMaskNotIn(List<Integer> values) {
            addCriterion("from_mask not in", values, "fromMask");
            return (Criteria) this;
        }

        public Criteria andFromMaskBetween(Integer value1, Integer value2) {
            addCriterion("from_mask between", value1, value2, "fromMask");
            return (Criteria) this;
        }

        public Criteria andFromMaskNotBetween(Integer value1, Integer value2) {
            addCriterion("from_mask not between", value1, value2, "fromMask");
            return (Criteria) this;
        }

        public Criteria andGoodProp1IsNull() {
            addCriterion("good_prop1 is null");
            return (Criteria) this;
        }

        public Criteria andGoodProp1IsNotNull() {
            addCriterion("good_prop1 is not null");
            return (Criteria) this;
        }

        public Criteria andGoodProp1EqualTo(String value) {
            addCriterion("good_prop1 =", value, "goodProp1");
            return (Criteria) this;
        }

        public Criteria andGoodProp1NotEqualTo(String value) {
            addCriterion("good_prop1 <>", value, "goodProp1");
            return (Criteria) this;
        }

        public Criteria andGoodProp1GreaterThan(String value) {
            addCriterion("good_prop1 >", value, "goodProp1");
            return (Criteria) this;
        }

        public Criteria andGoodProp1GreaterThanOrEqualTo(String value) {
            addCriterion("good_prop1 >=", value, "goodProp1");
            return (Criteria) this;
        }

        public Criteria andGoodProp1LessThan(String value) {
            addCriterion("good_prop1 <", value, "goodProp1");
            return (Criteria) this;
        }

        public Criteria andGoodProp1LessThanOrEqualTo(String value) {
            addCriterion("good_prop1 <=", value, "goodProp1");
            return (Criteria) this;
        }

        public Criteria andGoodProp1Like(String value) {
            addCriterion("good_prop1 like", value, "goodProp1");
            return (Criteria) this;
        }

        public Criteria andGoodProp1NotLike(String value) {
            addCriterion("good_prop1 not like", value, "goodProp1");
            return (Criteria) this;
        }

        public Criteria andGoodProp1In(List<String> values) {
            addCriterion("good_prop1 in", values, "goodProp1");
            return (Criteria) this;
        }

        public Criteria andGoodProp1NotIn(List<String> values) {
            addCriterion("good_prop1 not in", values, "goodProp1");
            return (Criteria) this;
        }

        public Criteria andGoodProp1Between(String value1, String value2) {
            addCriterion("good_prop1 between", value1, value2, "goodProp1");
            return (Criteria) this;
        }

        public Criteria andGoodProp1NotBetween(String value1, String value2) {
            addCriterion("good_prop1 not between", value1, value2, "goodProp1");
            return (Criteria) this;
        }

        public Criteria andGoodProp2IsNull() {
            addCriterion("good_prop2 is null");
            return (Criteria) this;
        }

        public Criteria andGoodProp2IsNotNull() {
            addCriterion("good_prop2 is not null");
            return (Criteria) this;
        }

        public Criteria andGoodProp2EqualTo(String value) {
            addCriterion("good_prop2 =", value, "goodProp2");
            return (Criteria) this;
        }

        public Criteria andGoodProp2NotEqualTo(String value) {
            addCriterion("good_prop2 <>", value, "goodProp2");
            return (Criteria) this;
        }

        public Criteria andGoodProp2GreaterThan(String value) {
            addCriterion("good_prop2 >", value, "goodProp2");
            return (Criteria) this;
        }

        public Criteria andGoodProp2GreaterThanOrEqualTo(String value) {
            addCriterion("good_prop2 >=", value, "goodProp2");
            return (Criteria) this;
        }

        public Criteria andGoodProp2LessThan(String value) {
            addCriterion("good_prop2 <", value, "goodProp2");
            return (Criteria) this;
        }

        public Criteria andGoodProp2LessThanOrEqualTo(String value) {
            addCriterion("good_prop2 <=", value, "goodProp2");
            return (Criteria) this;
        }

        public Criteria andGoodProp2Like(String value) {
            addCriterion("good_prop2 like", value, "goodProp2");
            return (Criteria) this;
        }

        public Criteria andGoodProp2NotLike(String value) {
            addCriterion("good_prop2 not like", value, "goodProp2");
            return (Criteria) this;
        }

        public Criteria andGoodProp2In(List<String> values) {
            addCriterion("good_prop2 in", values, "goodProp2");
            return (Criteria) this;
        }

        public Criteria andGoodProp2NotIn(List<String> values) {
            addCriterion("good_prop2 not in", values, "goodProp2");
            return (Criteria) this;
        }

        public Criteria andGoodProp2Between(String value1, String value2) {
            addCriterion("good_prop2 between", value1, value2, "goodProp2");
            return (Criteria) this;
        }

        public Criteria andGoodProp2NotBetween(String value1, String value2) {
            addCriterion("good_prop2 not between", value1, value2, "goodProp2");
            return (Criteria) this;
        }

        public Criteria andGoodProp3IsNull() {
            addCriterion("good_prop3 is null");
            return (Criteria) this;
        }

        public Criteria andGoodProp3IsNotNull() {
            addCriterion("good_prop3 is not null");
            return (Criteria) this;
        }

        public Criteria andGoodProp3EqualTo(String value) {
            addCriterion("good_prop3 =", value, "goodProp3");
            return (Criteria) this;
        }

        public Criteria andGoodProp3NotEqualTo(String value) {
            addCriterion("good_prop3 <>", value, "goodProp3");
            return (Criteria) this;
        }

        public Criteria andGoodProp3GreaterThan(String value) {
            addCriterion("good_prop3 >", value, "goodProp3");
            return (Criteria) this;
        }

        public Criteria andGoodProp3GreaterThanOrEqualTo(String value) {
            addCriterion("good_prop3 >=", value, "goodProp3");
            return (Criteria) this;
        }

        public Criteria andGoodProp3LessThan(String value) {
            addCriterion("good_prop3 <", value, "goodProp3");
            return (Criteria) this;
        }

        public Criteria andGoodProp3LessThanOrEqualTo(String value) {
            addCriterion("good_prop3 <=", value, "goodProp3");
            return (Criteria) this;
        }

        public Criteria andGoodProp3Like(String value) {
            addCriterion("good_prop3 like", value, "goodProp3");
            return (Criteria) this;
        }

        public Criteria andGoodProp3NotLike(String value) {
            addCriterion("good_prop3 not like", value, "goodProp3");
            return (Criteria) this;
        }

        public Criteria andGoodProp3In(List<String> values) {
            addCriterion("good_prop3 in", values, "goodProp3");
            return (Criteria) this;
        }

        public Criteria andGoodProp3NotIn(List<String> values) {
            addCriterion("good_prop3 not in", values, "goodProp3");
            return (Criteria) this;
        }

        public Criteria andGoodProp3Between(String value1, String value2) {
            addCriterion("good_prop3 between", value1, value2, "goodProp3");
            return (Criteria) this;
        }

        public Criteria andGoodProp3NotBetween(String value1, String value2) {
            addCriterion("good_prop3 not between", value1, value2, "goodProp3");
            return (Criteria) this;
        }

        public Criteria andGoodProp4IsNull() {
            addCriterion("good_prop4 is null");
            return (Criteria) this;
        }

        public Criteria andGoodProp4IsNotNull() {
            addCriterion("good_prop4 is not null");
            return (Criteria) this;
        }

        public Criteria andGoodProp4EqualTo(String value) {
            addCriterion("good_prop4 =", value, "goodProp4");
            return (Criteria) this;
        }

        public Criteria andGoodProp4NotEqualTo(String value) {
            addCriterion("good_prop4 <>", value, "goodProp4");
            return (Criteria) this;
        }

        public Criteria andGoodProp4GreaterThan(String value) {
            addCriterion("good_prop4 >", value, "goodProp4");
            return (Criteria) this;
        }

        public Criteria andGoodProp4GreaterThanOrEqualTo(String value) {
            addCriterion("good_prop4 >=", value, "goodProp4");
            return (Criteria) this;
        }

        public Criteria andGoodProp4LessThan(String value) {
            addCriterion("good_prop4 <", value, "goodProp4");
            return (Criteria) this;
        }

        public Criteria andGoodProp4LessThanOrEqualTo(String value) {
            addCriterion("good_prop4 <=", value, "goodProp4");
            return (Criteria) this;
        }

        public Criteria andGoodProp4Like(String value) {
            addCriterion("good_prop4 like", value, "goodProp4");
            return (Criteria) this;
        }

        public Criteria andGoodProp4NotLike(String value) {
            addCriterion("good_prop4 not like", value, "goodProp4");
            return (Criteria) this;
        }

        public Criteria andGoodProp4In(List<String> values) {
            addCriterion("good_prop4 in", values, "goodProp4");
            return (Criteria) this;
        }

        public Criteria andGoodProp4NotIn(List<String> values) {
            addCriterion("good_prop4 not in", values, "goodProp4");
            return (Criteria) this;
        }

        public Criteria andGoodProp4Between(String value1, String value2) {
            addCriterion("good_prop4 between", value1, value2, "goodProp4");
            return (Criteria) this;
        }

        public Criteria andGoodProp4NotBetween(String value1, String value2) {
            addCriterion("good_prop4 not between", value1, value2, "goodProp4");
            return (Criteria) this;
        }

        public Criteria andGoodProp5IsNull() {
            addCriterion("good_prop5 is null");
            return (Criteria) this;
        }

        public Criteria andGoodProp5IsNotNull() {
            addCriterion("good_prop5 is not null");
            return (Criteria) this;
        }

        public Criteria andGoodProp5EqualTo(String value) {
            addCriterion("good_prop5 =", value, "goodProp5");
            return (Criteria) this;
        }

        public Criteria andGoodProp5NotEqualTo(String value) {
            addCriterion("good_prop5 <>", value, "goodProp5");
            return (Criteria) this;
        }

        public Criteria andGoodProp5GreaterThan(String value) {
            addCriterion("good_prop5 >", value, "goodProp5");
            return (Criteria) this;
        }

        public Criteria andGoodProp5GreaterThanOrEqualTo(String value) {
            addCriterion("good_prop5 >=", value, "goodProp5");
            return (Criteria) this;
        }

        public Criteria andGoodProp5LessThan(String value) {
            addCriterion("good_prop5 <", value, "goodProp5");
            return (Criteria) this;
        }

        public Criteria andGoodProp5LessThanOrEqualTo(String value) {
            addCriterion("good_prop5 <=", value, "goodProp5");
            return (Criteria) this;
        }

        public Criteria andGoodProp5Like(String value) {
            addCriterion("good_prop5 like", value, "goodProp5");
            return (Criteria) this;
        }

        public Criteria andGoodProp5NotLike(String value) {
            addCriterion("good_prop5 not like", value, "goodProp5");
            return (Criteria) this;
        }

        public Criteria andGoodProp5In(List<String> values) {
            addCriterion("good_prop5 in", values, "goodProp5");
            return (Criteria) this;
        }

        public Criteria andGoodProp5NotIn(List<String> values) {
            addCriterion("good_prop5 not in", values, "goodProp5");
            return (Criteria) this;
        }

        public Criteria andGoodProp5Between(String value1, String value2) {
            addCriterion("good_prop5 between", value1, value2, "goodProp5");
            return (Criteria) this;
        }

        public Criteria andGoodProp5NotBetween(String value1, String value2) {
            addCriterion("good_prop5 not between", value1, value2, "goodProp5");
            return (Criteria) this;
        }

        public Criteria andGoodProp6IsNull() {
            addCriterion("good_prop6 is null");
            return (Criteria) this;
        }

        public Criteria andGoodProp6IsNotNull() {
            addCriterion("good_prop6 is not null");
            return (Criteria) this;
        }

        public Criteria andGoodProp6EqualTo(String value) {
            addCriterion("good_prop6 =", value, "goodProp6");
            return (Criteria) this;
        }

        public Criteria andGoodProp6NotEqualTo(String value) {
            addCriterion("good_prop6 <>", value, "goodProp6");
            return (Criteria) this;
        }

        public Criteria andGoodProp6GreaterThan(String value) {
            addCriterion("good_prop6 >", value, "goodProp6");
            return (Criteria) this;
        }

        public Criteria andGoodProp6GreaterThanOrEqualTo(String value) {
            addCriterion("good_prop6 >=", value, "goodProp6");
            return (Criteria) this;
        }

        public Criteria andGoodProp6LessThan(String value) {
            addCriterion("good_prop6 <", value, "goodProp6");
            return (Criteria) this;
        }

        public Criteria andGoodProp6LessThanOrEqualTo(String value) {
            addCriterion("good_prop6 <=", value, "goodProp6");
            return (Criteria) this;
        }

        public Criteria andGoodProp6Like(String value) {
            addCriterion("good_prop6 like", value, "goodProp6");
            return (Criteria) this;
        }

        public Criteria andGoodProp6NotLike(String value) {
            addCriterion("good_prop6 not like", value, "goodProp6");
            return (Criteria) this;
        }

        public Criteria andGoodProp6In(List<String> values) {
            addCriterion("good_prop6 in", values, "goodProp6");
            return (Criteria) this;
        }

        public Criteria andGoodProp6NotIn(List<String> values) {
            addCriterion("good_prop6 not in", values, "goodProp6");
            return (Criteria) this;
        }

        public Criteria andGoodProp6Between(String value1, String value2) {
            addCriterion("good_prop6 between", value1, value2, "goodProp6");
            return (Criteria) this;
        }

        public Criteria andGoodProp6NotBetween(String value1, String value2) {
            addCriterion("good_prop6 not between", value1, value2, "goodProp6");
            return (Criteria) this;
        }

        public Criteria andProp1IsNull() {
            addCriterion("prop1 is null");
            return (Criteria) this;
        }

        public Criteria andProp1IsNotNull() {
            addCriterion("prop1 is not null");
            return (Criteria) this;
        }

        public Criteria andProp1EqualTo(String value) {
            addCriterion("prop1 =", value, "prop1");
            return (Criteria) this;
        }

        public Criteria andProp1NotEqualTo(String value) {
            addCriterion("prop1 <>", value, "prop1");
            return (Criteria) this;
        }

        public Criteria andProp1GreaterThan(String value) {
            addCriterion("prop1 >", value, "prop1");
            return (Criteria) this;
        }

        public Criteria andProp1GreaterThanOrEqualTo(String value) {
            addCriterion("prop1 >=", value, "prop1");
            return (Criteria) this;
        }

        public Criteria andProp1LessThan(String value) {
            addCriterion("prop1 <", value, "prop1");
            return (Criteria) this;
        }

        public Criteria andProp1LessThanOrEqualTo(String value) {
            addCriterion("prop1 <=", value, "prop1");
            return (Criteria) this;
        }

        public Criteria andProp1Like(String value) {
            addCriterion("prop1 like", value, "prop1");
            return (Criteria) this;
        }

        public Criteria andProp1NotLike(String value) {
            addCriterion("prop1 not like", value, "prop1");
            return (Criteria) this;
        }

        public Criteria andProp1In(List<String> values) {
            addCriterion("prop1 in", values, "prop1");
            return (Criteria) this;
        }

        public Criteria andProp1NotIn(List<String> values) {
            addCriterion("prop1 not in", values, "prop1");
            return (Criteria) this;
        }

        public Criteria andProp1Between(String value1, String value2) {
            addCriterion("prop1 between", value1, value2, "prop1");
            return (Criteria) this;
        }

        public Criteria andProp1NotBetween(String value1, String value2) {
            addCriterion("prop1 not between", value1, value2, "prop1");
            return (Criteria) this;
        }

        public Criteria andProp2IsNull() {
            addCriterion("prop2 is null");
            return (Criteria) this;
        }

        public Criteria andProp2IsNotNull() {
            addCriterion("prop2 is not null");
            return (Criteria) this;
        }

        public Criteria andProp2EqualTo(String value) {
            addCriterion("prop2 =", value, "prop2");
            return (Criteria) this;
        }

        public Criteria andProp2NotEqualTo(String value) {
            addCriterion("prop2 <>", value, "prop2");
            return (Criteria) this;
        }

        public Criteria andProp2GreaterThan(String value) {
            addCriterion("prop2 >", value, "prop2");
            return (Criteria) this;
        }

        public Criteria andProp2GreaterThanOrEqualTo(String value) {
            addCriterion("prop2 >=", value, "prop2");
            return (Criteria) this;
        }

        public Criteria andProp2LessThan(String value) {
            addCriterion("prop2 <", value, "prop2");
            return (Criteria) this;
        }

        public Criteria andProp2LessThanOrEqualTo(String value) {
            addCriterion("prop2 <=", value, "prop2");
            return (Criteria) this;
        }

        public Criteria andProp2Like(String value) {
            addCriterion("prop2 like", value, "prop2");
            return (Criteria) this;
        }

        public Criteria andProp2NotLike(String value) {
            addCriterion("prop2 not like", value, "prop2");
            return (Criteria) this;
        }

        public Criteria andProp2In(List<String> values) {
            addCriterion("prop2 in", values, "prop2");
            return (Criteria) this;
        }

        public Criteria andProp2NotIn(List<String> values) {
            addCriterion("prop2 not in", values, "prop2");
            return (Criteria) this;
        }

        public Criteria andProp2Between(String value1, String value2) {
            addCriterion("prop2 between", value1, value2, "prop2");
            return (Criteria) this;
        }

        public Criteria andProp2NotBetween(String value1, String value2) {
            addCriterion("prop2 not between", value1, value2, "prop2");
            return (Criteria) this;
        }

        public Criteria andProp3IsNull() {
            addCriterion("prop3 is null");
            return (Criteria) this;
        }

        public Criteria andProp3IsNotNull() {
            addCriterion("prop3 is not null");
            return (Criteria) this;
        }

        public Criteria andProp3EqualTo(String value) {
            addCriterion("prop3 =", value, "prop3");
            return (Criteria) this;
        }

        public Criteria andProp3NotEqualTo(String value) {
            addCriterion("prop3 <>", value, "prop3");
            return (Criteria) this;
        }

        public Criteria andProp3GreaterThan(String value) {
            addCriterion("prop3 >", value, "prop3");
            return (Criteria) this;
        }

        public Criteria andProp3GreaterThanOrEqualTo(String value) {
            addCriterion("prop3 >=", value, "prop3");
            return (Criteria) this;
        }

        public Criteria andProp3LessThan(String value) {
            addCriterion("prop3 <", value, "prop3");
            return (Criteria) this;
        }

        public Criteria andProp3LessThanOrEqualTo(String value) {
            addCriterion("prop3 <=", value, "prop3");
            return (Criteria) this;
        }

        public Criteria andProp3Like(String value) {
            addCriterion("prop3 like", value, "prop3");
            return (Criteria) this;
        }

        public Criteria andProp3NotLike(String value) {
            addCriterion("prop3 not like", value, "prop3");
            return (Criteria) this;
        }

        public Criteria andProp3In(List<String> values) {
            addCriterion("prop3 in", values, "prop3");
            return (Criteria) this;
        }

        public Criteria andProp3NotIn(List<String> values) {
            addCriterion("prop3 not in", values, "prop3");
            return (Criteria) this;
        }

        public Criteria andProp3Between(String value1, String value2) {
            addCriterion("prop3 between", value1, value2, "prop3");
            return (Criteria) this;
        }

        public Criteria andProp3NotBetween(String value1, String value2) {
            addCriterion("prop3 not between", value1, value2, "prop3");
            return (Criteria) this;
        }

        public Criteria andProp4IsNull() {
            addCriterion("prop4 is null");
            return (Criteria) this;
        }

        public Criteria andProp4IsNotNull() {
            addCriterion("prop4 is not null");
            return (Criteria) this;
        }

        public Criteria andProp4EqualTo(String value) {
            addCriterion("prop4 =", value, "prop4");
            return (Criteria) this;
        }

        public Criteria andProp4NotEqualTo(String value) {
            addCriterion("prop4 <>", value, "prop4");
            return (Criteria) this;
        }

        public Criteria andProp4GreaterThan(String value) {
            addCriterion("prop4 >", value, "prop4");
            return (Criteria) this;
        }

        public Criteria andProp4GreaterThanOrEqualTo(String value) {
            addCriterion("prop4 >=", value, "prop4");
            return (Criteria) this;
        }

        public Criteria andProp4LessThan(String value) {
            addCriterion("prop4 <", value, "prop4");
            return (Criteria) this;
        }

        public Criteria andProp4LessThanOrEqualTo(String value) {
            addCriterion("prop4 <=", value, "prop4");
            return (Criteria) this;
        }

        public Criteria andProp4Like(String value) {
            addCriterion("prop4 like", value, "prop4");
            return (Criteria) this;
        }

        public Criteria andProp4NotLike(String value) {
            addCriterion("prop4 not like", value, "prop4");
            return (Criteria) this;
        }

        public Criteria andProp4In(List<String> values) {
            addCriterion("prop4 in", values, "prop4");
            return (Criteria) this;
        }

        public Criteria andProp4NotIn(List<String> values) {
            addCriterion("prop4 not in", values, "prop4");
            return (Criteria) this;
        }

        public Criteria andProp4Between(String value1, String value2) {
            addCriterion("prop4 between", value1, value2, "prop4");
            return (Criteria) this;
        }

        public Criteria andProp4NotBetween(String value1, String value2) {
            addCriterion("prop4 not between", value1, value2, "prop4");
            return (Criteria) this;
        }

        public Criteria andProp5IsNull() {
            addCriterion("prop5 is null");
            return (Criteria) this;
        }

        public Criteria andProp5IsNotNull() {
            addCriterion("prop5 is not null");
            return (Criteria) this;
        }

        public Criteria andProp5EqualTo(String value) {
            addCriterion("prop5 =", value, "prop5");
            return (Criteria) this;
        }

        public Criteria andProp5NotEqualTo(String value) {
            addCriterion("prop5 <>", value, "prop5");
            return (Criteria) this;
        }

        public Criteria andProp5GreaterThan(String value) {
            addCriterion("prop5 >", value, "prop5");
            return (Criteria) this;
        }

        public Criteria andProp5GreaterThanOrEqualTo(String value) {
            addCriterion("prop5 >=", value, "prop5");
            return (Criteria) this;
        }

        public Criteria andProp5LessThan(String value) {
            addCriterion("prop5 <", value, "prop5");
            return (Criteria) this;
        }

        public Criteria andProp5LessThanOrEqualTo(String value) {
            addCriterion("prop5 <=", value, "prop5");
            return (Criteria) this;
        }

        public Criteria andProp5Like(String value) {
            addCriterion("prop5 like", value, "prop5");
            return (Criteria) this;
        }

        public Criteria andProp5NotLike(String value) {
            addCriterion("prop5 not like", value, "prop5");
            return (Criteria) this;
        }

        public Criteria andProp5In(List<String> values) {
            addCriterion("prop5 in", values, "prop5");
            return (Criteria) this;
        }

        public Criteria andProp5NotIn(List<String> values) {
            addCriterion("prop5 not in", values, "prop5");
            return (Criteria) this;
        }

        public Criteria andProp5Between(String value1, String value2) {
            addCriterion("prop5 between", value1, value2, "prop5");
            return (Criteria) this;
        }

        public Criteria andProp5NotBetween(String value1, String value2) {
            addCriterion("prop5 not between", value1, value2, "prop5");
            return (Criteria) this;
        }

        public Criteria andProp6IsNull() {
            addCriterion("prop6 is null");
            return (Criteria) this;
        }

        public Criteria andProp6IsNotNull() {
            addCriterion("prop6 is not null");
            return (Criteria) this;
        }

        public Criteria andProp6EqualTo(String value) {
            addCriterion("prop6 =", value, "prop6");
            return (Criteria) this;
        }

        public Criteria andProp6NotEqualTo(String value) {
            addCriterion("prop6 <>", value, "prop6");
            return (Criteria) this;
        }

        public Criteria andProp6GreaterThan(String value) {
            addCriterion("prop6 >", value, "prop6");
            return (Criteria) this;
        }

        public Criteria andProp6GreaterThanOrEqualTo(String value) {
            addCriterion("prop6 >=", value, "prop6");
            return (Criteria) this;
        }

        public Criteria andProp6LessThan(String value) {
            addCriterion("prop6 <", value, "prop6");
            return (Criteria) this;
        }

        public Criteria andProp6LessThanOrEqualTo(String value) {
            addCriterion("prop6 <=", value, "prop6");
            return (Criteria) this;
        }

        public Criteria andProp6Like(String value) {
            addCriterion("prop6 like", value, "prop6");
            return (Criteria) this;
        }

        public Criteria andProp6NotLike(String value) {
            addCriterion("prop6 not like", value, "prop6");
            return (Criteria) this;
        }

        public Criteria andProp6In(List<String> values) {
            addCriterion("prop6 in", values, "prop6");
            return (Criteria) this;
        }

        public Criteria andProp6NotIn(List<String> values) {
            addCriterion("prop6 not in", values, "prop6");
            return (Criteria) this;
        }

        public Criteria andProp6Between(String value1, String value2) {
            addCriterion("prop6 between", value1, value2, "prop6");
            return (Criteria) this;
        }

        public Criteria andProp6NotBetween(String value1, String value2) {
            addCriterion("prop6 not between", value1, value2, "prop6");
            return (Criteria) this;
        }

        public Criteria andDataStatusIsNull() {
            addCriterion("data_status is null");
            return (Criteria) this;
        }

        public Criteria andDataStatusIsNotNull() {
            addCriterion("data_status is not null");
            return (Criteria) this;
        }

        public Criteria andDataStatusEqualTo(String value) {
            addCriterion("data_status =", value, "dataStatus");
            return (Criteria) this;
        }

        public Criteria andDataStatusNotEqualTo(String value) {
            addCriterion("data_status <>", value, "dataStatus");
            return (Criteria) this;
        }

        public Criteria andDataStatusGreaterThan(String value) {
            addCriterion("data_status >", value, "dataStatus");
            return (Criteria) this;
        }

        public Criteria andDataStatusGreaterThanOrEqualTo(String value) {
            addCriterion("data_status >=", value, "dataStatus");
            return (Criteria) this;
        }

        public Criteria andDataStatusLessThan(String value) {
            addCriterion("data_status <", value, "dataStatus");
            return (Criteria) this;
        }

        public Criteria andDataStatusLessThanOrEqualTo(String value) {
            addCriterion("data_status <=", value, "dataStatus");
            return (Criteria) this;
        }

        public Criteria andDataStatusLike(String value) {
            addCriterion("data_status like", value, "dataStatus");
            return (Criteria) this;
        }

        public Criteria andDataStatusNotLike(String value) {
            addCriterion("data_status not like", value, "dataStatus");
            return (Criteria) this;
        }

        public Criteria andDataStatusIn(List<String> values) {
            addCriterion("data_status in", values, "dataStatus");
            return (Criteria) this;
        }

        public Criteria andDataStatusNotIn(List<String> values) {
            addCriterion("data_status not in", values, "dataStatus");
            return (Criteria) this;
        }

        public Criteria andDataStatusBetween(String value1, String value2) {
            addCriterion("data_status between", value1, value2, "dataStatus");
            return (Criteria) this;
        }

        public Criteria andDataStatusNotBetween(String value1, String value2) {
            addCriterion("data_status not between", value1, value2, "dataStatus");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}